input()
a=input()+' '
print(a.count('1')+max(len([*filter(None,a.split('0 '))])-1,0))
#include <bits/stdc++.h>
#define deb(x) cout<<endl<<#x <<" = "<<x<<endl<<endl
using namespace std;
typedef long long ll;
typedef double dd;
int main()
{
ll tt; tt=1;
while(tt--)
{
ll n; cin>>n;
ll a[n];
for(ll i=0;i<n;i++) cin>>a[i];
for(ll i=1;i<n-1;i++) if(a[i-1]==1 && a[i+1]==1) a[i]=1;
ll ans=0,buff=0;
for(ll i=0;i<n;i++){
if(a[i]){
buff++;
}
else if(buff){
ans+=buff;
ans++;
buff=0;
}
}
if(buff){
ans+=buff;
ans++;
}
cout<<max(0ll,--ans)<<endl;
}
}
1271A - Suits | 259B - Little Elephant and Magic Square |
1389A - LCM Problem | 778A - String Game |
1382A - Common Subsequence | 1512D - Corrupted Array |
667B - Coat of Anticubism | 284B - Cows and Poker Game |
1666D - Deletive Editing | 1433D - Districts Connection |
2B - The least round way | 1324A - Yet Another Tetris Problem |
246B - Increase and Decrease | 22E - Scheme |
1566A - Median Maximization | 1278A - Shuffle Hashing |
1666F - Fancy Stack | 1354A - Alarm Clock |
1543B - Customising the Track | 1337A - Ichihime and Triangle |
1366A - Shovels and Swords | 919A - Supermarket |
630C - Lucky Numbers | 1208B - Uniqueness |
1384A - Common Prefixes | 371A - K-Periodic Array |
1542A - Odd Set | 1567B - MEXor Mixup |
669A - Little Artem and Presents | 691B - s-palindrome |